package request

import (
	"gitee.com/cjsn/topsdk/util"
)

type TmallServicecenterWorkcardQuerybysellerRequest struct {
	/*
	   门店/网点id     */
	ServiceStoreId *int64 `json:"service_store_id,omitempty" required:"false" `
	/*
	   核销码     */
	IdentifyCode *string `json:"identify_code,omitempty" required:"false" `
	/*
	   工单id     */
	Id *int64 `json:"id,omitempty" required:"false" `
	/*
	   工单创建开始时间     */
	GmtCreateStart *util.LocalTime `json:"gmt_create_start,omitempty" required:"false" `
	/*
	   工单创建结束时间，必须与工单创建开始时间一起传入，且间隔不超过15分钟     */
	GmtCreateEnd *util.LocalTime `json:"gmt_create_end,omitempty" required:"false" `
	/*
	   淘宝交易订单号。主订单或子订单均可     */
	BizOrderId *int64 `json:"biz_order_id,omitempty" required:"false" `
	/*
	   当前页数     */
	CurrentPage *int64 `json:"current_page,omitempty" required:"false" `
	/*
	   每页大小     */
	PageSize *int64 `json:"page_size,omitempty" required:"false" `
}

func (s *TmallServicecenterWorkcardQuerybysellerRequest) SetServiceStoreId(v int64) *TmallServicecenterWorkcardQuerybysellerRequest {
	s.ServiceStoreId = &v
	return s
}
func (s *TmallServicecenterWorkcardQuerybysellerRequest) SetIdentifyCode(v string) *TmallServicecenterWorkcardQuerybysellerRequest {
	s.IdentifyCode = &v
	return s
}
func (s *TmallServicecenterWorkcardQuerybysellerRequest) SetId(v int64) *TmallServicecenterWorkcardQuerybysellerRequest {
	s.Id = &v
	return s
}
func (s *TmallServicecenterWorkcardQuerybysellerRequest) SetGmtCreateStart(v util.LocalTime) *TmallServicecenterWorkcardQuerybysellerRequest {
	s.GmtCreateStart = &v
	return s
}
func (s *TmallServicecenterWorkcardQuerybysellerRequest) SetGmtCreateEnd(v util.LocalTime) *TmallServicecenterWorkcardQuerybysellerRequest {
	s.GmtCreateEnd = &v
	return s
}
func (s *TmallServicecenterWorkcardQuerybysellerRequest) SetBizOrderId(v int64) *TmallServicecenterWorkcardQuerybysellerRequest {
	s.BizOrderId = &v
	return s
}
func (s *TmallServicecenterWorkcardQuerybysellerRequest) SetCurrentPage(v int64) *TmallServicecenterWorkcardQuerybysellerRequest {
	s.CurrentPage = &v
	return s
}
func (s *TmallServicecenterWorkcardQuerybysellerRequest) SetPageSize(v int64) *TmallServicecenterWorkcardQuerybysellerRequest {
	s.PageSize = &v
	return s
}

func (req *TmallServicecenterWorkcardQuerybysellerRequest) ToMap() map[string]interface{} {
	paramMap := make(map[string]interface{})
	if req.ServiceStoreId != nil {
		paramMap["service_store_id"] = *req.ServiceStoreId
	}
	if req.IdentifyCode != nil {
		paramMap["identify_code"] = *req.IdentifyCode
	}
	if req.Id != nil {
		paramMap["id"] = *req.Id
	}
	if req.GmtCreateStart != nil {
		paramMap["gmt_create_start"] = *req.GmtCreateStart
	}
	if req.GmtCreateEnd != nil {
		paramMap["gmt_create_end"] = *req.GmtCreateEnd
	}
	if req.BizOrderId != nil {
		paramMap["biz_order_id"] = *req.BizOrderId
	}
	if req.CurrentPage != nil {
		paramMap["current_page"] = *req.CurrentPage
	}
	if req.PageSize != nil {
		paramMap["page_size"] = *req.PageSize
	}
	return paramMap
}

func (req *TmallServicecenterWorkcardQuerybysellerRequest) ToFileMap() map[string]interface{} {
	fileMap := make(map[string]interface{})
	return fileMap
}
